package nc.itf.yst;

import nc.ui.querytemplate.querytree.IQueryScheme;
import nc.vo.uap.hoh002.AggScjhHVO;
import nc.vo.yst.sales.AggSalesHVO;
import nc.vo.pub.BusinessException;

public interface IScjhMaintain {

	public void delete(AggScjhHVO[] clientFullVOs,
			AggScjhHVO[] originBills) throws BusinessException;

	public AggScjhHVO[] insert(AggScjhHVO[] clientFullVOs,
			AggScjhHVO[] originBills) throws BusinessException;

	public AggScjhHVO[] update(AggScjhHVO[] clientFullVOs,
			AggScjhHVO[] originBills) throws BusinessException;

	public AggScjhHVO[] query(IQueryScheme queryScheme)
			throws BusinessException;

	public AggScjhHVO[] save(AggScjhHVO[] clientFullVOs,
			AggScjhHVO[] originBills) throws BusinessException;

	public AggScjhHVO[] unsave(AggScjhHVO[] clientFullVOs,
			AggScjhHVO[] originBills) throws BusinessException;

	public AggScjhHVO[] approve(AggScjhHVO[] clientFullVOs,
			AggScjhHVO[] originBills) throws BusinessException;

	public AggScjhHVO[] unapprove(AggScjhHVO[] clientFullVOs,
			AggScjhHVO[] originBills) throws BusinessException;
	
	public String[] queryPKs(IQueryScheme queryScheme)
			throws BusinessException;
	
	public AggScjhHVO[] queryBillByPK(String[] pks)
			throws BusinessException;
}
